[iOS 8/Xcode 6] BotsでCIしよう(5) -Bots/ Jenkins/Travis CIを比較する
はじめに
iOS開発者にとってBotsは気になる存在だと思いますが、他のCIツールと比較してどうなのかが気になります。ええ、とっても。なので調べてみました。代表的なCIツールであるJenkinsとTravis CIとBotsで比較します。
比較表
Bots | Jenkins | Travis CI | |
Gitリポジトリ | 問わない | 問わない | Githubのみ |
サービス提供 | 無し | CloudBees/Clinkerなど | Travis CI(org/com) |
オンプレミス環境 | Mac | Javaが動作する環境 | 無し |
分散化 | 無し | 有り(スレーブ) | 有り(多分してる) |
プラグイン | 無し | 豊富 | 無し |
Scriptの実行 | 有り | 有り | 有り |
iOS対応 | 有り | 有り(Macでホストされていた場合) | 有り |
Android対応 | 無し | 有り | 有り(2014/10/21現在β版) |
対応言語 | Objective-C/Swift | Jenkinsが動作するプラットフォームで動かせるもの何でも。 | 全18種類 |
Slack対応 | 無し(API経由で可能) | 有り | 有り |
設定方法 | XcodeからGUI | ブラウザからGUI | 設定ファイル[.travis.yml] |
料金 | 2,000円 | 無料(OSS) | .org 公開OSS向けは無料 .com 非公開向けは$129/mo 〜 |
まとめ
Botsは良くも悪くもApple環境に特化しているところがウリです。設定の簡単さと引き換えにAppleの世界以外では動きません。またJenkinsだと動作環境含めての自由度の高さと引き換えに管理とか意外と時間をとられるところなので、BotsもAppleがSaaSとして提供してくれてたらいいのにな、と思いました。
Serverアプリを購入(2,000円)する必要はありますが、設定周りの導入の敷居は低いのでAppleの開発しかしない、または他のCIツールと併用するなら使う価値が有ると思います。
ちなみにスマホアプリのチームではオンプレJenkins環境でAndroid/iOS 6/iOS 7/iOS 8のスレーブを作って運用していましたが、”何か止まってる!”とか、”スレーブ認識しなくなった”とか運用のコストが結構かかってきたので、トータルコストを考えてGithub+Travis-CIなフルマネージド(AWS用語?)サービスに任せてアプリ開発に注力するという方針にしています。iOS 8でもありましたが、SaaSだけにβ時のCI環境はNDA的にも提供されないのでそこはJenkinsと併用しています。と、ここまでBots記事を書いてますが、サーバーアプリやAndroidも扱ってるので実際使われていないのが現状なのです。